home *** CD-ROM | disk | FTP | other *** search
- ; EX8_1.asm (Laboratory Exercise 8.1)
-
-
- dseg segment para public 'data'
- dseg ends
-
- cseg segment para public 'code'
- assume cs:cseg, ds:dseg
-
-
-
- Procedure1 proc near
-
- ; MASM will emit a *far* call to procedure2
- ; since it is a far procedure.
-
- call Procedure2
-
- ; Since this return instruction is inside
- ; a near procedure, MASM will emit a near
- ; return.
-
- ret
- Procedure1 endp
-
-
-
-
-
-
- Procedure2 proc far
-
- ; MASM will emit a *near* call to procedure1
- ; since it is a near procedure.
-
- call Procedure1
-
- ; Since this return instruction is inside
- ; a far procedure, MASM will emit a far
- ; return.
-
- ret
- Procedure2 endp
-
-
-
-
-
-
- Main proc
- mov ax, dseg
- mov ds, ax
- mov es, ax
-
-
- ; MASM emits the appropriate call instructions
- ; to the following procedures.
-
- call Procedure1
- call Procedure2
-
-
- Quit: mov ah, 4ch
- int 21h
- Main endp
-
- cseg ends
-
- sseg segment para stack 'stack'
- stk byte 1024 dup ("stack ")
- sseg ends
- end Main
-